Add ecosystem domains for clojure, elixir, kotlin, scala, zig#17072
Add ecosystem domains for clojure, elixir, kotlin, scala, zig#17072
Conversation
Add new ecosystem domain lists for 5 programming languages that were identified as blocked in the AWF build/test experiment v4: - clojure: repo.clojars.org, clojars.org - elixir: hex.pm, repo.hex.pm, builds.hex.pm, cdn.hex.pm, fastly.hex.pm - kotlin: ge.jetbrains.com, packages.jetbrains.team, kotlin.bintray.com - scala: repo.scala-sbt.org, jitpack.io, and related - zig: ziglang.org, pkg.machengine.org Also update existing ecosystems: - dart: add storage.googleapis.com - java: add downloads.gradle-dn.com And add runtimeToEcosystem mappings for clojure, dart, elixir, kotlin, php, scala, swift, zig. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This pull request adds ecosystem domain allowlists for five programming languages (Clojure, Elixir, Kotlin, Scala, and Zig) that were identified as having 0% build success in the AWF build/test experiment v4 due to missing firewall domain allowlists. The PR also updates existing ecosystems (dart, java) with missing domains and adds runtime-to-ecosystem mappings for eight languages.
Changes:
- Added new ecosystem domains for clojure, elixir, kotlin, scala, and zig
- Updated dart ecosystem with storage.googleapis.com for Flutter/Dart package downloads
- Updated java ecosystem with downloads.gradle-dn.com for Gradle wrapper downloads
- Added runtimeToEcosystem mappings for clojure, dart, elixir, kotlin, php, scala, swift, and zig
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/workflow/data/ecosystem_domains.json | Adds domain lists for 5 new ecosystems (clojure, elixir, kotlin, scala, zig) and updates dart and java ecosystems |
| pkg/workflow/domains.go | Adds runtimeToEcosystem mappings for 8 languages, updates documentation and ecosystemPriority list to include new ecosystems |
| pkg/workflow/domains_test.go | Updates test case for elixir runtime mapping from expecting empty to expecting hex.pm domains |
| pkg/workflow/testdata/wasm_golden/TestWasmGolden_CompileFixtures/smoke-test-tools.golden | Updates golden test output to include downloads.gradle-dn.com from java ecosystem update |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| }, | ||
| expectEmpty: true, | ||
| expectContains: []string{"hex.pm", "repo.hex.pm"}, | ||
| }, |
There was a problem hiding this comment.
The TestGetDomainsFromRuntimes test suite includes a test case for the elixir runtime mapping, but is missing test cases for the other newly added runtime mappings: clojure, kotlin, scala, zig, dart, php, and swift. Consider adding test cases for these runtimes to ensure their ecosystem mappings work correctly.
| }, | |
| }, | |
| { | |
| name: "clojure runtime adds clojure ecosystem domains", | |
| runtimes: map[string]any{ | |
| "clojure": map[string]any{"version": "1.11"}, | |
| }, | |
| expectContains: []string{"clojars.org", "repo.clojars.org"}, | |
| }, | |
| { | |
| name: "kotlin runtime adds kotlin ecosystem domains", | |
| runtimes: map[string]any{ | |
| "kotlin": map[string]any{"version": "1.9"}, | |
| }, | |
| expectContains: []string{"repo.maven.apache.org", "gradle.org"}, | |
| }, | |
| { | |
| name: "scala runtime adds scala ecosystem domains", | |
| runtimes: map[string]any{ | |
| "scala": map[string]any{"version": "3.3"}, | |
| }, | |
| expectContains: []string{"repo.maven.apache.org", "scala-lang.org"}, | |
| }, | |
| { | |
| name: "zig runtime adds zig ecosystem domains", | |
| runtimes: map[string]any{ | |
| "zig": map[string]any{"version": "0.12"}, | |
| }, | |
| expectContains: []string{"ziglang.org", "pkg.machengine.org"}, | |
| }, | |
| { | |
| name: "dart runtime adds dart ecosystem domains", | |
| runtimes: map[string]any{ | |
| "dart": map[string]any{"version": "3.3"}, | |
| }, | |
| expectContains: []string{"pub.dev", "pub.dartlang.org"}, | |
| }, | |
| { | |
| name: "php runtime adds php ecosystem domains", | |
| runtimes: map[string]any{ | |
| "php": map[string]any{"version": "8.3"}, | |
| }, | |
| expectContains: []string{"packagist.org", "repo.packagist.org"}, | |
| }, | |
| { | |
| name: "swift runtime adds swift ecosystem domains", | |
| runtimes: map[string]any{ | |
| "swift": map[string]any{"version": "5.9"}, | |
| }, | |
| expectContains: []string{"swift.org", "swiftpackageindex.com"}, | |
| }, |
| "rust", // before "python" — crates.io/index.crates.io/static.crates.io are native Rust domains | ||
| "clojure", | ||
| "containers", | ||
| "dart", |
There was a problem hiding this comment.
The dart ecosystem shares the domain storage.googleapis.com with the go ecosystem. Since dart is positioned before go in the ecosystemPriority list, GetDomainEcosystem will resolve storage.googleapis.com to dart rather than go. Consider adding an inline comment similar to the existing rust/python comment (line 310) to document this intentional ordering decision and help future maintainers understand why dart must be positioned before go.
| "dart", | |
| "dart", // before "go" — both share storage.googleapis.com; prefer Dart resolution |
- Add Google Gemini as a supported AI engine in engines.md, including setup steps for GEMINI_API_KEY and a note about MCP configuration via .gemini/settings.json (from #16938 and #16983) - Expand the ecosystem identifiers table in network.md from a compact multi-value row to individual rows with domain examples for each identifier, and add new entries: clojure, elixir, kotlin, scala, zig (from #17072) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
|
🧪 Smoke Project is now testing project operations... |
|
🧪 Smoke Temporary ID is now testing temporary ID functionality... |
|
📰 BREAKING: Smoke macOS ARM64 is now investigating this pull request. Sources say the story is developing... |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
|
📰 DEVELOPING STORY: Smoke macOS ARM64 reports failed. Our correspondents are investigating the incident... |
|
✅ Smoke Project completed successfully. All project operations validated. |
|
Smoke test run §22247251461 results for
Overall:
|
There was a problem hiding this comment.
PR adds new ecosystem domains (clojure, elixir, kotlin, scala, zig) and corresponding runtime mappings. Changes look well-organized. One minor question: the php runtime mapping is added in domains.go but a PHP entry in ecosystem_domains.json doesn't appear in this diff — please verify it exists already.
📰 BREAKING: Report filed by Smoke Copilot for issue #17072
| "dart": "dart", | ||
| "elixir": "elixir", | ||
| "kotlin": "kotlin", | ||
| "php": "php", |
There was a problem hiding this comment.
Nice addition of new runtime-to-ecosystem mappings. The php entry is added here but I don't see a corresponding "php" key added in ecosystem_domains.json in this diff — worth verifying the PHP ecosystem domains are already present.
| "oneocsp.microsoft.com" | ||
| ], | ||
| "dart": ["pub.dev", "pub.dartlang.org"], | ||
| "clojure": ["repo.clojars.org", "clojars.org"], |
There was a problem hiding this comment.
New clojure ecosystem entry looks good! Consider also adding clojars.org mirrors or CDN domains if Clojure projects commonly fetch from them.
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
PR titles: feat: add Copilot ARM64 smoke test on ubuntu-24.04-arm; Copilot/update smoke labels
|
|
Smoke Test Results — Run §22247251475 Core (#1–10): ✅✅✅✅✅✅✅✅✅✅ Overall: PARTIAL (tests 14 & 17 skipped — no threads/no safe PR to close)
|
There was a problem hiding this comment.
💥 Automated smoke test review - all systems nominal!
💥 [THE END] — Illustrated by Smoke Claude for issue #17072
Summary
New Ecosystems
Updated Ecosystems
New Runtime Mappings
Added
runtimeToEcosystementries for: clojure, dart, elixir, kotlin, php, scala, swift, zigContext
From the AWF build/test experiment v4 (173 repos, 19 languages), these 9 new languages had 0% build success primarily due to missing firewall domain allowlists. Adding these ecosystem domains is the highest-impact fix.
Test plan
make test-unitpasses🤖 Generated with Claude Code
Changeset